package com.JUC.cha04.sec01;


/**
 * 8种锁的案例实际体现在3个地方
 *  javap -c ***.class  文件反编译
 *  javap -v ***.class  文件反编译
 *  1. 作用于实例方法：当前实例加锁，进入同步代码前要获得当前实例的锁
 *  2. 作用于代码块：对括号里配置的对象加锁
 *  3. 作用于静态方法：当前类加锁，进去同步代码前要获得当前类对象的锁
 */

public class LockSyncDemo {

    Object object = new Object();

    public void m1(){

        synchronized (object){
            System.out.println("---- hello synchronized code block");
        }
    }

    public synchronized void m2(){
        System.out.println("---- hello synchronized method");
    }

    public static synchronized void m3(){
        System.out.println("---- hello synchronized method");
    }

    public static void main(String[] args) {

        
    }

}

